Release 10.1A: OpenEdge Development:
Programming Interfaces
Basic report demonstration
This section provides a basic report demonstration.
![]()
To see a demonstration of Progress behavior when displaying a report to your screen:
- Open
i-10-01.pand run it. Progress creates a down frame that occupies all the vertical space it can and fills the frame with iterations of data:
![]()
Notice the message at the bottom of the screen. Progress pauses to allow you to view the first frame of data.
- Press SPACEBAR. Progress clears the down frame and fills it with a new set of iterations.
- Press END-ERROR and then SPACEBAR to return to the Procedure Editor.
Here is the code for this example:
Note: The
THREE-Doption is relevant only on a Windows client; it is ignored by a character client.The following notes help to explain the code:
- The default data widget for this
LOGICALvariable is a toggle box, making theVIEW-AS TEXTphrase necessary to convert it to a text widget.- The frame phrase of the
DEFINE FRAMEstatement contains two key options:DOWNandUSE-TEXT. TheDOWNkeyword specifies a down frame that automatically expands to fit as many iterations as the screen can hold. Specifying an integer beforeDOWNsets the maximum number of iterations the frame can hold.USE-TEXTconverts all fill-in fields into text widgets for a compact display.- Since the great majority of reports compile and manipulate table data, the
FOR EACHstatement is the most common control block used for report procedures. The frame phrase here replaces the default down frame with the named down frame defined earlier.- The
DISPLAYstatement is the most commonly used output statement. As you’ll see later,DISPLAYcan output to terminals, printers, or files.The type of report display created by procedure
i-10-01.pdoes not fit well with the event-driven model because the user:The next section describes a technique for viewing reports that better suits the event-driven model.
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |